package com.joysuch.wwyt.bp.bean;

import cn.zlg.common.springmvc.validate.constraints.NotNull;
import com.joysuch.wwyt.core.bean.BaseAttachmentBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

@Data
@ApiModel(value = "演练记录")
public class BpEmergencyExerciseRecordBean implements Serializable {

    @ApiModelProperty(value = "演练记录id")
    private Long id;

    @ApiModelProperty(value = "演练记录名称")
    private String name;

    @ApiModelProperty(value = "编码")
    private String code;

    @ApiModelProperty(value = "演练计划id")
    private Long epId;
    @ApiModelProperty(value = "演练计划名称")
    private String epName;

    @NotNull(field = "演练日期")
    @ApiModelProperty(value = "演练日期")
    private LocalDate date;

    @NotNull(field = "演练实施人员")
    @ApiModelProperty(value = "演练实施人员")
    private List<BpBaseUserBean> implementerId;

    @ApiModelProperty(value = "主要参演人员")
    private List<BpBaseUserBean> participantId;

    @ApiModelProperty(value = "其他参演部门")
    private List<BpAddDepartBean> departId;
    private String departName;

    @ApiModelProperty(value = "演练内容")
    private String content;

    @ApiModelProperty(value = "演练目的")
    private String goal;

    @ApiModelProperty(value = "演练过程")
    private String process;

    @ApiModelProperty(value = "演练小结")
    private String summary;

    @ApiModelProperty(value = "评价意见")
    private String opinion;

    @ApiModelProperty(value = "需整改数量")
    private Integer account;

    @ApiModelProperty(value = "状态:0待整改;1已整改;2无需整改")
    private Integer state;
    @ApiModelProperty(value = "状态名称")
    private String stateName;


    @ApiModelProperty(value = "附件")
    private List<BaseAttachmentBean> attachments;


    @ApiModelProperty(value = "整改计划")
    private List<BpEmergencyDefectBean> defectBean;


    @ApiModelProperty(value = "需要删除的id集合")
    private List<Long> defectIds;

    @Data
    public static class Search implements java.io.Serializable {

        @ApiModelProperty(value = "分页查询:编码或者演练计划")
        private String codeOrEpName;
        private String epName;
        private String code;

    }
}
